home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
sos3-2.lha
/
include
/
mta_sos.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-11-08
|
34KB
|
724 lines
#ifndef mta_SOSI
#define mta_SOSI 1
#include "mta_use.h"
#include "knl_sos.h"
#include "agg_sos.h"
#include "dir_sos.h"
class _sos_Imports;
class _sos_Schema_impl;
class _sos_Method_impl;
class _sos_Expr;
class _sos_Schema_module;
class _sos_Int_expr;
class _sos_Identifier;
class _sos_Type_name;
class _sos_Schema_type;
class _sos_Unidentified_type;
class _sos_Type_with_params;
class _sos_Generic_instantiation;
class _sos_Gen_param;
class _sos_Param;
class _sos_Method;
class _sos_Method_table;
class _sos_Comp_method;
class _sos_Union_type;
class _sos_Typedef_type;
class _sos_Enum_type;
class _sos_Extern_type;
class _sos_Forward_class_type;
class _sos_Super_class;
class _sos_Class_type;
class _sos_Imports:virtual public _sos_Object_List
{ friend class sos_Imports;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Aggregate () { return 8; }
virtual sos_Offset _offset_sos_Object_Collection () { return 8; }
virtual sos_Offset _offset_sos_Object_List () { return 9; }
virtual sos_Offset _offset_sos_Imports () { return 21; }
public:
static _sos_Imports* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Imports);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Imports,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Imports,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Imports);
virtual sos_Schema_type lookup_type(sos_Typed_id&,sos_String name,sos_Bool look_for_alias = FALSE);
protected:
};
extern _sos_Imports *__sos_Imports_obj;
class _sos_Schema_impl:virtual public _sos_Object
{ friend class sos_Schema_impl;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Schema_impl () { return 8; }
public:
static _sos_Schema_impl* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Schema_impl);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Schema_impl,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Schema_impl,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Schema_impl);
protected:
};
extern _sos_Schema_impl *__sos_Schema_impl_obj;
class _sos_Method_impl:virtual public _sos_Object
{ friend class sos_Method_impl;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Method_impl () { return 8; }
public:
static _sos_Method_impl* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Method_impl);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Method_impl,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Method_impl,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Method_impl);
protected:
};
extern _sos_Method_impl *__sos_Method_impl_obj;
class _sos_Expr:virtual public _sos_Object
{ friend class sos_Expr;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Expr () { return 8; }
public:
static _sos_Expr* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Expr);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Expr,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Expr,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Expr);
protected:
};
extern _sos_Expr *__sos_Expr_obj;
class _sos_Schema_module:virtual public _sos_Named
{ friend class sos_Schema_module;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Schema_module () { return 8; }
public:
static _sos_Schema_module* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Schema_module);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Schema_module,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Schema_module,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Schema_module);
virtual sos_Schema_type lookup_type(sos_Typed_id&,sos_String name,sos_Bool look_for_alias = FALSE);
virtual void open_imports(sos_Typed_id&);
virtual void close_imports(sos_Typed_id&);
virtual void install(sos_Typed_id&);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String);
virtual sos_Imports get_imports(sos_Typed_id&);
virtual void set_imports(sos_Typed_id&,sos_Imports);
virtual sos_Schema_type_List get_types(sos_Typed_id&);
virtual void set_types(sos_Typed_id&,sos_Schema_type_List);
virtual sos_Type_table get_type_table(sos_Typed_id&);
virtual void set_type_table(sos_Typed_id&,sos_Type_table);
virtual sos_Bool get_has_external_import(sos_Typed_id&);
virtual void set_has_external_import(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_has_external_types(sos_Typed_id&);
virtual void set_has_external_types(sos_Typed_id&,sos_Bool);
virtual sos_Schema_impl_List get_impls(sos_Typed_id&);
virtual void set_impls(sos_Typed_id&,sos_Schema_impl_List);
static sos_Schema_module_Directory schema_dir();
static sos_Schema_module lookup(sos_String _p1);
static sos_Schema_module retrieve(sos_Container _p1);
protected:
};
extern _sos_Schema_module *__sos_Schema_module_obj;
class _sos_Int_expr:virtual public _sos_Expr
{ friend class sos_Int_expr;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Expr () { return 8; }
virtual sos_Offset _offset_sos_Int_expr () { return 8; }
public:
static _sos_Int_expr* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Int_expr);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Int_expr,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Int_expr,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Int_expr);
virtual sos_Int get_value(sos_Typed_id&);
virtual void set_value(sos_Typed_id&,sos_Int);
protected:
};
extern _sos_Int_expr *__sos_Int_expr_obj;
class _sos_Identifier:virtual public _sos_Expr
{ friend class sos_Identifier;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Expr () { return 8; }
virtual sos_Offset _offset_sos_Identifier () { return 8; }
public:
static _sos_Identifier* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Identifier);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Identifier,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Identifier,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Identifier);
virtual sos_String get_id(sos_Typed_id&);
virtual void set_id(sos_Typed_id&,sos_String);
protected:
};
extern _sos_Identifier *__sos_Identifier_obj;
class _sos_Type_name:virtual public _sos_Object
{ friend class sos_Type_name;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Type_name () { return 8; }
public:
static _sos_Type_name* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Type_name);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Type_name,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Type_name,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Type_name);
virtual sos_Schema_type make_root_type(sos_Typed_id&);
virtual sos_Schema_type make_base_type(sos_Typed_id&);
virtual sos_Expr_List create_params(sos_Typed_id&);
virtual sos_Schema_type make_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
protected:
};
extern _sos_Type_name *__sos_Type_name_obj;
class _sos_Schema_type:virtual public _sos_Type,virtual public _sos_Type_name
{ friend class sos_Schema_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
public:
static _sos_Schema_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Schema_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Schema_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Schema_type,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Schema_type);
virtual sos_Bool is_derived_from(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_derived_from_some(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_scalar(sos_Typed_id&);
virtual sos_Type base(sos_Typed_id&);
virtual sos_Schema_type make_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
protected:
static sos_Bool total_equal(sos_Schema_type _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int total_hash_value(sos_Schema_type _p1);
};
extern _sos_Schema_type *__sos_Schema_type_obj;
class _sos_Unidentified_type:virtual public _sos_Type_name,virtual public _sos_Named
{ friend class sos_Unidentified_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Type_name () { return 8; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Unidentified_type () { return 8; }
public:
static _sos_Unidentified_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Unidentified_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Unidentified_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Unidentified_type,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Unidentified_type);
virtual sos_Schema_type make_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String);
protected:
};
extern _sos_Unidentified_type *__sos_Unidentified_type_obj;
class _sos_Type_with_params:virtual public _sos_Type_name
{ friend class sos_Type_with_params;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Type_name () { return 8; }
virtual sos_Offset _offset_sos_Type_with_params () { return 8; }
public:
static _sos_Type_with_params* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Type_with_params);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Type_with_params,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Type_with_params,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Type_with_params);
virtual sos_Expr_List create_params(sos_Typed_id&);
virtual sos_Schema_type make_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
virtual sos_Type_name get_type_name(sos_Typed_id&);
virtual void set_type_name(sos_Typed_id&,sos_Type_name);
virtual sos_Expr_List get_params(sos_Typed_id&);
virtual void set_params(sos_Typed_id&,sos_Expr_List);
protected:
};
extern _sos_Type_with_params *__sos_Type_with_params_obj;
class _sos_Generic_instantiation:virtual public _sos_Type_name
{ friend class sos_Generic_instantiation;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Type_name () { return 8; }
virtual sos_Offset _offset_sos_Generic_instantiation () { return 8; }
public:
static _sos_Generic_instantiation* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Generic_instantiation);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Generic_instantiation,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Generic_instantiation,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Generic_instantiation);
virtual sos_Bool is_universal(sos_Typed_id&);
virtual sos_Schema_type make_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
virtual sos_Class_type get_gen(sos_Typed_id&);
virtual void set_gen(sos_Typed_id&,sos_Class_type);
virtual sos_Type_name_List get_gen_params(sos_Typed_id&);
virtual void set_gen_params(sos_Typed_id&,sos_Type_name_List);
virtual sos_Class_type get_instantiation(sos_Typed_id&);
virtual void set_instantiation(sos_Typed_id&,sos_Class_type);
protected:
};
extern _sos_Generic_instantiation *__sos_Generic_instantiation_obj;
class _sos_Gen_param:virtual public _sos_Type_name,virtual public _sos_Named
{ friend class sos_Gen_param;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Type_name () { return 8; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Gen_param () { return 8; }
public:
static _sos_Gen_param* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Gen_param);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Gen_param,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Gen_param,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Gen_param);
virtual sos_Schema_type make_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String);
virtual sos_Type_name get_super_class(sos_Typed_id&);
virtual void set_super_class(sos_Typed_id&,sos_Type_name);
protected:
};
extern _sos_Gen_param *__sos_Gen_param_obj;
class _sos_Param:virtual public _sos_Named
{ friend class sos_Param;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Param () { return 8; }
public:
static _sos_Param* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Param);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Param,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Param,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Param);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String);
virtual sos_Type_name get_type_name(sos_Typed_id&);
virtual void set_type_name(sos_Typed_id&,sos_Type_name);
virtual sos_Bool get_is_ref(sos_Typed_id&);
virtual void set_is_ref(sos_Typed_id&,sos_Bool);
virtual sos_Expr get_default_expr(sos_Typed_id&);
virtual void set_default_expr(sos_Typed_id&,sos_Expr);
protected:
};
extern _sos_Param *__sos_Param_obj;
class _sos_Method:virtual public _sos_Named
{ friend class sos_Method;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Method () { return 8; }
public:
static _sos_Method* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Method);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Method,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Method,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Method);
virtual sos_Bool overloads(sos_Typed_id&,sos_Method _p1);
virtual sos_Bool redefines(sos_Typed_id&,sos_Method _p1);
virtual sos_Object execute(sos_Typed_id&,sos_Object _p1,sos_Object_Array _p2);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String);
virtual sos_Method_kind get_kind(sos_Typed_id&);
virtual void set_kind(sos_Typed_id&,sos_Method_kind);
virtual sos_Bool get_is_abstract(sos_Typed_id&);
virtual void set_is_abstract(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_is_static(sos_Typed_id&);
virtual void set_is_static(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_is_operator(sos_Typed_id&);
virtual void set_is_operator(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_is_predefined(sos_Typed_id&);
virtual void set_is_predefined(sos_Typed_id&,sos_Bool);
virtual sos_Method get_generated_from(sos_Typed_id&);
virtual void set_generated_from(sos_Typed_id&,sos_Method);
virtual sos_Class_type get_defined_in(sos_Typed_id&);
virtual void set_defined_in(sos_Typed_id&,sos_Class_type);
virtual sos_Param_List get_params(sos_Typed_id&);
virtual void set_params(sos_Typed_id&,sos_Param_List);
virtual sos_Type_name get_result_type(sos_Typed_id&);
virtual void set_result_type(sos_Typed_id&,sos_Type_name);
virtual sos_Method_impl_List get_impls(sos_Typed_id&);
virtual void set_impls(sos_Typed_id&,sos_Method_impl_List);
protected:
};
extern _sos_Method *__sos_Method_obj;
class _sos_Method_table:virtual public _sos_Object_sos_Object_Mapping
{ friend class sos_Method_table;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Aggregate () { return 8; }
virtual sos_Offset _offset_sos_Object_sos_Object_Association () { return 8; }
virtual sos_Offset _offset_sos_Object_sos_Object_Mapping () { return 10; }
virtual sos_Offset _offset_sos_Method_table () { return 71; }
public:
static _sos_Method_table* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Method_table);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Method_table,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Method_table,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Method_table);
virtual sos_Method lookup(sos_Typed_id&,sos_Method _p1);
virtual sos_Method lookup_or_add(sos_Typed_id&,sos_Method _p1);
virtual sos_Method replace_or_add(sos_Typed_id&,sos_Method _p1);
virtual sos_Comp_method lookup_comp(sos_Typed_id&,sos_String _p1,sos_Bool is_set);
protected:
};
extern _sos_Method_table *__sos_Method_table_obj;
class _sos_Comp_method:virtual public _sos_Method
{ friend class sos_Comp_method;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Method () { return 8; }
virtual sos_Offset _offset_sos_Comp_method () { return 85; }
public:
static _sos_Comp_method* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Comp_method);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Comp_method,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Comp_method,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Comp_method);
virtual sos_Expr get_init_expr(sos_Typed_id&);
virtual void set_init_expr(sos_Typed_id&,sos_Expr);
virtual sos_Bool get_is_set(sos_Typed_id&);
virtual void set_is_set(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_is_value(sos_Typed_id&);
virtual void set_is_value(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_is_local(sos_Typed_id&);
virtual void set_is_local(sos_Typed_id&,sos_Bool);
virtual sos_Int get_offset(sos_Typed_id&);
virtual void set_offset(sos_Typed_id&,sos_Int);
protected:
};
extern _sos_Comp_method *__sos_Comp_method_obj;
class _sos_Union_type:virtual public _sos_Schema_type
{ friend class sos_Union_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
virtual sos_Offset _offset_sos_Union_type () { return 28; }
public:
static _sos_Union_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Union_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Union_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Type_name_List get_uniteds(sos_Typed_id&);
virtual void set_uniteds(sos_Typed_id&,sos_Type_name_List);
protected:
static sos_Bool local_equal(sos_Union_type _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Union_type _p1);
};
extern _sos_Union_type *__sos_Union_type_obj;
class _sos_Typedef_type:virtual public _sos_Schema_type
{ friend class sos_Typedef_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
virtual sos_Offset _offset_sos_Typedef_type () { return 28; }
public:
static _sos_Typedef_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Typedef_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Typedef_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Schema_type make_base_type(sos_Typed_id&);
virtual sos_Type_name get_type_name(sos_Typed_id&);
virtual void set_type_name(sos_Typed_id&,sos_Type_name);
protected:
static sos_Bool local_equal(sos_Typedef_type _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Typedef_type _p1);
};
extern _sos_Typedef_type *__sos_Typedef_type_obj;
class _sos_Enum_type:virtual public _sos_Schema_type
{ friend class sos_Enum_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
virtual sos_Offset _offset_sos_Enum_type () { return 28; }
public:
static _sos_Enum_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Enum_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Enum_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Scalar_object make_object(sos_Typed_id&,sos_String _p1);
virtual sos_String make_string(sos_Typed_id&,sos_Scalar_object _p1);
virtual sos_String_List get_literals(sos_Typed_id&);
virtual void set_literals(sos_Typed_id&,sos_String_List);
protected:
static sos_Bool local_equal(sos_Enum_type _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Enum_type _p1);
};
extern _sos_Enum_type *__sos_Enum_type_obj;
class _sos_Extern_type:virtual public _sos_Schema_type
{ friend class sos_Extern_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
virtual sos_Offset _offset_sos_Extern_type () { return 28; }
public:
static _sos_Extern_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Extern_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Extern_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Extern_type,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Extern_type);
protected:
};
extern _sos_Extern_type *__sos_Extern_type_obj;
class _sos_Forward_class_type:virtual public _sos_Schema_type
{ friend class sos_Forward_class_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
virtual sos_Offset _offset_sos_Forward_class_type () { return 28; }
public:
static _sos_Forward_class_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Forward_class_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Forward_class_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Schema_type make_base_type(sos_Typed_id&);
virtual sos_Class_type get_complete(sos_Typed_id&);
virtual void set_complete(sos_Typed_id&,sos_Class_type);
protected:
static sos_Bool local_equal(sos_Forward_class_type _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Forward_class_type _p1);
};
extern _sos_Forward_class_type *__sos_Forward_class_type_obj;
class _sos_Super_class:virtual public _sos_Object
{ friend class sos_Super_class;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Super_class () { return 8; }
public:
static _sos_Super_class* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Super_class);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Super_class,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Super_class,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Super_class);
virtual sos_Class_type get_super_class(sos_Typed_id&);
virtual void set_super_class(sos_Typed_id&,sos_Class_type);
virtual sos_Expr_List get_create_params(sos_Typed_id&);
virtual void set_create_params(sos_Typed_id&,sos_Expr_List);
virtual sos_Int get_offset(sos_Typed_id&);
virtual void set_offset(sos_Typed_id&,sos_Int);
protected:
};
extern _sos_Super_class *__sos_Super_class_obj;
class _sos_Class_type:virtual public _sos_Schema_type
{ friend class sos_Class_type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
virtual sos_Offset _offset_sos_Type_name () { return 28; }
virtual sos_Offset _offset_sos_Schema_type () { return 28; }
virtual sos_Offset _offset_sos_Class_type () { return 28; }
public:
static _sos_Class_type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Class_type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Class_type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Class_type root_class(sos_Typed_id&);
virtual sos_Bool is_derived_from(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_derived_from_some(sos_Typed_id&,sos_Type _p1);
virtual sos_Type root(sos_Typed_id&);
virtual sos_Schema_type make_root_type(sos_Typed_id&);
virtual sos_String make_type_name(sos_Typed_id&);
virtual sos_Gen_param_List get_gen_params(sos_Typed_id&);
virtual void set_gen_params(sos_Typed_id&,sos_Gen_param_List);
virtual sos_Param_List get_create_params(sos_Typed_id&);
virtual void set_create_params(sos_Typed_id&,sos_Param_List);
virtual sos_Bool get_has_init_comps(sos_Typed_id&);
virtual void set_has_init_comps(sos_Typed_id&,sos_Bool);
virtual sos_Bool get_is_abstract(sos_Typed_id&);
virtual void set_is_abstract(sos_Typed_id&,sos_Bool);
virtual sos_Type_name_List get_friends(sos_Typed_id&);
virtual void set_friends(sos_Typed_id&,sos_Type_name_List);
virtual sos_Type_name_List get_super_classes(sos_Typed_id&);
virtual void set_super_classes(sos_Typed_id&,sos_Type_name_List);
virtual sos_Super_class_List get_super_closure(sos_Typed_id&);
virtual void set_super_closure(sos_Typed_id&,sos_Super_class_List);
virtual sos_Method_List get_methods(sos_Typed_id&);
virtual void set_methods(sos_Typed_id&,sos_Method_List);
virtual sos_Method_List get_comp_methods(sos_Typed_id&);
virtual void set_comp_methods(sos_Typed_id&,sos_Method_List);
virtual sos_Method_List get_static_methods(sos_Typed_id&);
virtual void set_static_methods(sos_Typed_id&,sos_Method_List);
virtual sos_Method_table get_inherited_methods(sos_Typed_id&);
virtual void set_inherited_methods(sos_Typed_id&,sos_Method_table);
virtual sos_Generic_instantiation get_generated_from(sos_Typed_id&);
virtual void set_generated_from(sos_Typed_id&,sos_Generic_instantiation);
virtual sos_String get_root_name(sos_Typed_id&);
virtual void set_root_name(sos_Typed_id&,sos_String);
virtual sos_Int get_local_size(sos_Typed_id&);
virtual void set_local_size(sos_Typed_id&,sos_Int);
protected:
static sos_Bool local_equal(sos_Class_type _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Class_type _p1);
};
extern _sos_Class_type *__sos_Class_type_obj;
extern void _mta_init_sos();
#endif